import api from './api'
import { getPaymentFrom, debugPlatformInfo } from '@/utils/platform'

/**
 * 订单列表  
 */
export function orderTakeFoods(data) {
	return api.get('/order/list', data, {
		login: false
	})
}

/**
 * 订单创建  
 */
export function orderSubmit(data) {
	console.log('订单提交 - 原始数据:', data)

	// 自动添加平台标识
	const orderData = {
		...data,
		from: getPaymentFrom()
	}

	console.log('订单提交 - 添加平台标识后:', orderData)

	return api.post(`/order/create`, orderData, {
		login: false
	})
}


export function orderPrintSubmit(data) {
	console.log('订单打印提交 - 原始数据:', data)

	// 自动添加平台标识
	const printData = {
		...data,
		from: getPaymentFrom()
	}

	console.log('订单打印提交 - 添加平台标识后:', printData)

	return api.post('/order/print', printData)
}


/**
 * 订单列表  
 */
export function orderGetOrders(data) {
	return api.get(`/order/list`, data, {
		login: false
	})
}


/**
 * 计算详情 
 */
export function orderDetail(data) {
	return api.get(`/order/detail/${data}`, data, {
		login: false
	})
}



/**
 * 订单收货 
 */
export function orderReceive(data) {
	return api.post(`/order/take`, data, {
		login: false
	})
}

/**
 * 订单退款 
 */
export function orderRefund(data) {
	return api.post(`/order/refund`, data, {
		login: false
	})
}


/**
 * 订单支付 
 */
export function payUnify(data) {
	console.log('支付统一接口 - 原始数据:', data)

	// 输出平台调试信息
	const platformInfo = debugPlatformInfo()

	// 自动添加平台标识（如果没有手动指定from参数）
	const paymentData = {
		...data,
		from: data.from || getPaymentFrom()  // 优先使用手动指定的from，否则自动识别
	}

	console.log('支付统一接口 - 添加平台标识后:', paymentData)

	return api.post(`/order/pay`, paymentData, {
		login: false
	})
}

/**
 * getWechatConfig 	
 */
export function getWechatConfig() {
	return api.get(`/member/wx-mp/create-jsapi-signature`, {
		url: location.href
	}, {
		login: false
	})
}



export function createScanPaymentOrder(data) {
	console.log('扫码支付订单 - 原始数据:', data)

	// 自动添加平台标识
	const scanPayData = {
		...data,
		from: data.from || getPaymentFrom()
	}

	console.log('扫码支付订单 - 添加平台标识后:', scanPayData)

	return api.post('/order/scan-payment/create', scanPayData)
}